package com.ebupt.migu.music.schedule.mapper;

import cn.hutool.core.collection.CollUtil;
import com.baomidou.dynamic.datasource.annotation.DS;
import org.apache.ibatis.annotations.Mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by Intellij IDEA.
 * User:  liuyangyang@cd.ebupt.com
 * Date:  2020/5/13
 */
@Mapper
@DS("mysql_mg")
public interface RosterTaskMapper {

    /**
     * 查找指定状态的名单列表
     *
     * @return
     */
    public List<HashMap<String, Object>> queryRostersByStatus();

    /**
     * 更新名单信息
     *
     * @param map
     */
    public void updateRosterStatusByRosterID(Map<String, Object> map);

    /**
     * 新增名单详情
     *
     * @param map
     */
    public void addRosterInfo(Map<String, Object> map);

    /**
     * 指定名单中是否存在uuid或者msisdn
     *
     * @return
     */
//    public boolean isUuidOrMsisdnExist(String rosterId, String paramValue, String memberType);
    public boolean isUuidOrMsisdnExist(Map<String, Object> map);

    /**
     * 查找指定状态的扩展名单列表
     *
     * @return
     */
    public List<HashMap<String, Object>> queryRostersExtendByStatus();

    /**
     * 将拓展名单状态修改为追加完成
     *
     * @param map
     */
    public void updateRosterExtendStatusByID(Map<String, Object> map);

    /**
     * 将黑白名单列表中状态为1-反查完成/3-更新完成的名单状态修改为2-等待每日更新
     */
    public void updateRosterStatusForDailyUpdate();

    /**
     * 查询状态为2-等待每日更新的名单列表
     *
     * @return
     */
    public List<String> queryRosterIDs();

    /**
     * 查询指定roster_id中包含的成员
     *
     * @return
     */
//    public List<HashMap<String, Object>> queryRostersForDailyUpdate(String rosterId);
    public List<HashMap<String, Object>> queryRostersForDailyUpdate(Map<String, Object> map);

    /**
     * 更新指定ID的名单详情
     *
     * @param map
     */
    public void updateRosterInfoByID(Map<String, Object> map);
}
